🎖️GitЯра🎖️
Node / meshtastic / Meshtastic-Android / files / feature / node / src / commonMain / kotlin / org / meshtastic / feature / node / metrics / EnvironmentMetrics.kt
Displaying Raw • Download
feature/node/src/commonMain/kotlin/org/meshtastic/feature/node/metrics/EnvironmentMetrics.kt 2d20cd8a4708e2ef66e98d5259f3a97ec93f240a (2d20cd8a) Text, 25.10 KB
T8b949e/*
* Copyright (c) 2026 Meshtastic LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
Tf0883e@fileTb4b4b4:Te6edf3SuppressTb4b4b4(Ta5d6ff"Ta5d6ffTooManyFunctionsTa5d6ff"Tb4b4b4)
Tff7b72package T7ee787org.meshtastic.feature.node.metrics
Tff7b72import T7ee787androidx.compose.foundation.layout.Arrangement
Tff7b72import T7ee787androidx.compose.foundation.layout.Column
Tff7b72import T7ee787androidx.compose.foundation.layout.Row
Tff7b72import T7ee787androidx.compose.foundation.layout.Spacer
Tff7b72import T7ee787androidx.compose.foundation.layout.fillMaxSize
Tff7b72import T7ee787androidx.compose.foundation.layout.fillMaxWidth
Tff7b72import T7ee787androidx.compose.foundation.layout.height
Tff7b72import T7ee787androidx.compose.foundation.layout.padding
Tff7b72import T7ee787androidx.compose.foundation.layout.width
Tff7b72import T7ee787androidx.compose.foundation.lazy.LazyColumn
Tff7b72import T7ee787androidx.compose.foundation.lazy.itemsIndexed
Tff7b72import T7ee787androidx.compose.material3.MaterialTheme
Tff7b72import T7ee787androidx.compose.material3.Surface
Tff7b72import T7ee787androidx.compose.material3.Text
Tff7b72import T7ee787androidx.compose.runtime.Composable
Tff7b72import T7ee787androidx.compose.runtime.getValue
Tff7b72import T7ee787androidx.compose.ui.Alignment
Tff7b72import T7ee787androidx.compose.ui.Modifier
Tff7b72import T7ee787androidx.compose.ui.text.font.FontWeight
Tff7b72import T7ee787androidx.compose.ui.tooling.preview.PreviewLightDark
Tff7b72import T7ee787androidx.compose.ui.unit.dp
Tff7b72import T7ee787androidx.lifecycle.compose.collectAsStateWithLifecycle
Tff7b72import T7ee787org.jetbrains.compose.resources.stringResource
Tff7b72import T7ee787org.meshtastic.core.common.util.DateFormatter
Tff7b72import T7ee787org.meshtastic.core.common.util.MetricFormatter
Tff7b72import T7ee787org.meshtastic.core.common.util.formatString
Tff7b72import T7ee787org.meshtastic.core.model.TelemetryType
Tff7b72import T7ee787org.meshtastic.core.model.util.TimeConstants.MS_PER_SEC
Tff7b72import T7ee787org.meshtastic.core.resources.Res
Tff7b72import T7ee787org.meshtastic.core.resources.current
Tff7b72import T7ee787org.meshtastic.core.resources.env_metrics_log
Tff7b72import T7ee787org.meshtastic.core.resources.gas_resistance
Tff7b72import T7ee787org.meshtastic.core.resources.humidity
Tff7b72import T7ee787org.meshtastic.core.resources.iaq
Tff7b72import T7ee787org.meshtastic.core.resources.iaq_definition
Tff7b72import T7ee787org.meshtastic.core.resources.lux
Tff7b72import T7ee787org.meshtastic.core.resources.one_wire_temperature
Tff7b72import T7ee787org.meshtastic.core.resources.radiation
Tff7b72import T7ee787org.meshtastic.core.resources.rainfall_1h
Tff7b72import T7ee787org.meshtastic.core.resources.rainfall_24h
Tff7b72import T7ee787org.meshtastic.core.resources.soil_moisture
Tff7b72import T7ee787org.meshtastic.core.resources.soil_temperature
Tff7b72import T7ee787org.meshtastic.core.resources.temperature
Tff7b72import T7ee787org.meshtastic.core.resources.uv_lux
Tff7b72import T7ee787org.meshtastic.core.resources.voltage
Tff7b72import T7ee787org.meshtastic.core.resources.wind_direction
Tff7b72import T7ee787org.meshtastic.core.resources.wind_gust
Tff7b72import T7ee787org.meshtastic.core.resources.wind_lull
Tff7b72import T7ee787org.meshtastic.core.resources.wind_speed
Tff7b72import T7ee787org.meshtastic.core.ui.component.IaqDisplayMode
Tff7b72import T7ee787org.meshtastic.core.ui.component.IndoorAirQuality
Tff7b72import T7ee787org.meshtastic.core.ui.theme.AppTheme
Tff7b72import T7ee787org.meshtastic.core.ui.util.rememberSaveFileLauncher
Tff7b72import T7ee787org.meshtastic.proto.Telemetry
Tf0883e@Composable
Tff7b72fun Td2a8ffEnvironmentMetricsScreenTb4b4b4(Te6edf3viewModelTb4b4b4: Te6edf3MetricsViewModelTb4b4b4, Te6edf3onNavigateUpTb4b4b4: Tb4b4b4(Tb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3state Tff7b72by Te6edf3viewModelTb4b4b4.Te6edf3stateTb4b4b4.Te6edf3collectAsStateWithLifecycleTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3graphData Tff7b72by Te6edf3viewModelTb4b4b4.Te6edf3environmentGraphingDataTb4b4b4.Te6edf3collectAsStateWithLifecycleTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3filteredTelemetries Tff7b72by Te6edf3viewModelTb4b4b4.Te6edf3filteredEnvironmentMetricsTb4b4b4.Te6edf3collectAsStateWithLifecycleTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3timeFrame Tff7b72by Te6edf3viewModelTb4b4b4.Te6edf3timeFrameTb4b4b4.Te6edf3collectAsStateWithLifecycleTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3availableTimeFrames Tff7b72by Te6edf3viewModelTb4b4b4.Te6edf3availableTimeFramesTb4b4b4.Te6edf3collectAsStateWithLifecycleTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3exportLauncher Tff7b72= Te6edf3rememberSaveFileLauncher Tb4b4b4{ Te6edf3uri Tff7b72-Tff7b72>
Te6edf3viewModelTb4b4b4.Te6edf3saveEnvironmentMetricsCSVTb4b4b4(Te6edf3uriTb4b4b4, Te6edf3filteredTelemetriesTb4b4b4)
Tb4b4b4}
Te6edf3BaseMetricScreenTb4b4b4(
Te6edf3onNavigateUp Tff7b72= Te6edf3onNavigateUpTb4b4b4,
Te6edf3telemetryType Tff7b72= Te6edf3TelemetryTypeTb4b4b4.Te6edf3ENVIRONMENTTb4b4b4,
Te6edf3titleRes Tff7b72= Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3env_metrics_logTb4b4b4,
Te6edf3nodeName Tff7b72= Te6edf3stateTb4b4b4.Te6edf3nodeTff7b72?.Te6edf3userTff7b72?.Te6edf3long_name Tff7b72?: Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3data Tff7b72= Te6edf3filteredTelemetriesTb4b4b4,
Te6edf3timeProvider Tff7b72= Tb4b4b4{ Tffa657itTb4b4b4.Te6edf3timeTb4b4b4.Te6edf3toDoubleTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4,
Te6edf3infoData Tff7b72= Te6edf3listOfTb4b4b4(Te6edf3InfoDialogDataTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3iaqTb4b4b4, Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3iaq_definitionTb4b4b4, Te6edf3EnvironmentTb4b4b4.Te6edf3IAQTb4b4b4.Te6edf3colorTb4b4b4)Tb4b4b4)Tb4b4b4,
Te6edf3onRequestTelemetry Tff7b72= Tb4b4b4{ Te6edf3viewModelTb4b4b4.Te6edf3requestTelemetryTb4b4b4(Te6edf3TelemetryTypeTb4b4b4.Te6edf3ENVIRONMENTTb4b4b4) Tb4b4b4}Tb4b4b4,
Te6edf3onExportCsv Tff7b72= Tb4b4b4{ Te6edf3exportLauncherTb4b4b4(Ta5d6ff"Ta5d6ffenvironment_metrics.csvTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftext/csvTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4,
Te6edf3controlPart Tff7b72= Tb4b4b4{
Te6edf3TimeFrameSelectorTb4b4b4(
Te6edf3selectedTimeFrame Tff7b72= Te6edf3timeFrameTb4b4b4,
Te6edf3availableTimeFrames Tff7b72= Te6edf3availableTimeFramesTb4b4b4,
Te6edf3onTimeFrameSelected Tff7b72= Te6edf3viewModelTff7b72::Te6edf3setTimeFrameTb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3paddingTb4b4b4(Te6edf3horizontal Tff7b72= T79c0ff1T79c0ff6.Te6edf3dpTb4b4b4)Tb4b4b4,
Tb4b4b4)
Tb4b4b4}Tb4b4b4,
Te6edf3chartPart Tff7b72= Tb4b4b4{ Te6edf3modifierTb4b4b4, Te6edf3selectedXTb4b4b4, Te6edf3vicoScrollStateTb4b4b4, Te6edf3onPointSelected Tff7b72-Tff7b72>
Te6edf3EnvironmentMetricsChartTb4b4b4(
Te6edf3modifier Tff7b72= Te6edf3modifierTb4b4b4,
Te6edf3telemetries Tff7b72= Te6edf3filteredTelemetriesTb4b4b4.Te6edf3reversedTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3graphData Tff7b72= Te6edf3graphDataTb4b4b4,
Te6edf3vicoScrollState Tff7b72= Te6edf3vicoScrollStateTb4b4b4,
Te6edf3selectedX Tff7b72= Te6edf3selectedXTb4b4b4,
Te6edf3onPointSelected Tff7b72= Te6edf3onPointSelectedTb4b4b4,
Tb4b4b4)
Tb4b4b4}Tb4b4b4,
Te6edf3listPart Tff7b72= Tb4b4b4{ Te6edf3modifierTb4b4b4, Te6edf3selectedXTb4b4b4, Te6edf3lazyListStateTb4b4b4, Te6edf3onCardClick Tff7b72-Tff7b72>
Te6edf3LazyColumnTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3modifierTb4b4b4.Te6edf3fillMaxSizeTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3state Tff7b72= Te6edf3lazyListStateTb4b4b4) Tb4b4b4{
Te6edf3itemsIndexedTb4b4b4(
Te6edf3filteredTelemetriesTb4b4b4,
Te6edf3key Tff7b72= Tb4b4b4{ Te6edf3indexTb4b4b4, Te6edf3telemetry Tff7b72-Tff7b72> Ta5d6ff"Tffd700${Te6edf3telemetryTb4b4b4.Te6edf3timeTffd700}Ta5d6ff_Tffd700$Te6edf3indexTa5d6ff" Tb4b4b4}Tb4b4b4,
Te6edf3contentType Tff7b72= Tb4b4b4{ Te6edf3_Tb4b4b4, Te6edf3_ Tff7b72-Tff7b72> Ta5d6ff"Ta5d6ffenvironment_metricsTa5d6ff" Tb4b4b4}Tb4b4b4,
Tb4b4b4) Tb4b4b4{ Te6edf3_Tb4b4b4, Te6edf3telemetry Tff7b72-Tff7b72>
Te6edf3EnvironmentMetricsCardTb4b4b4(
Te6edf3telemetry Tff7b72= Te6edf3telemetryTb4b4b4,
Te6edf3environmentDisplayFahrenheit Tff7b72= Te6edf3stateTb4b4b4.Te6edf3isFahrenheitTb4b4b4,
Te6edf3isImperial Tff7b72=
Te6edf3stateTb4b4b4.Te6edf3displayUnits Tff7b72=Tff7b72= Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3protoTb4b4b4.Te6edf3ConfigTb4b4b4.Te6edf3DisplayConfigTb4b4b4.Te6edf3DisplayUnitsTb4b4b4.Te6edf3IMPERIALTb4b4b4,
Te6edf3isSelected Tff7b72= Te6edf3telemetryTb4b4b4.Te6edf3timeTb4b4b4.Te6edf3toDoubleTb4b4b4(Tb4b4b4) Tff7b72=Tff7b72= Te6edf3selectedXTb4b4b4,
Te6edf3onClick Tff7b72= Tb4b4b4{ Te6edf3onCardClickTb4b4b4(Te6edf3telemetryTb4b4b4.Te6edf3timeTb4b4b4.Te6edf3toDoubleTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4}Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffTemperatureDisplayTb4b4b4(
Te6edf3envMetricsTb4b4b4: Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3protoTb4b4b4.Te6edf3EnvironmentMetricsTb4b4b4,
Te6edf3environmentDisplayFahrenheitTb4b4b4: Tffa657BooleanTb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3envMetricsTb4b4b4.Te6edf3temperatureTff7b72?.Te6edf3let Tb4b4b4{ Te6edf3temperature Tff7b72-Tff7b72>
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3temperatureTb4b4b4.Te6edf3isNaNTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3textFormat Tff7b72= Tff7b72if Tb4b4b4(Te6edf3environmentDisplayFahrenheitTb4b4b4) Ta5d6ff"Ta5d6ff%s %.1f°FTa5d6ff" Tff7b72else Ta5d6ff"Ta5d6ff%s %.1f°CTa5d6ff"
Te6edf3RowTb4b4b4(Te6edf3verticalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterVerticallyTb4b4b4) Tb4b4b4{
Te6edf3MetricIndicatorTb4b4b4(Te6edf3EnvironmentTb4b4b4.Te6edf3TEMPERATURETb4b4b4.Te6edf3colorTb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3widthTb4b4b4(T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72= Te6edf3formatStringTb4b4b4(Te6edf3textFormatTb4b4b4, Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3temperatureTb4b4b4)Tb4b4b4, Te6edf3temperatureTb4b4b4)Tb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onSurfaceTb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3labelLargeTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffHumidityAndBarometricPressureDisplayTb4b4b4(Te6edf3envMetricsTb4b4b4: Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3protoTb4b4b4.Te6edf3EnvironmentMetricsTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3hasHumidity Tff7b72= Te6edf3envMetricsTb4b4b4.Te6edf3relative_humidityTff7b72?.Te6edf3let Tb4b4b4{ Tff7b72!Tffa657itTb4b4b4.Te6edf3isNaNTb4b4b4(Tb4b4b4) Tb4b4b4} Tff7b72=Tff7b72= Tff7b72true
Tff7b72val Te6edf3hasPressure Tff7b72= Te6edf3envMetricsTb4b4b4.Te6edf3barometric_pressureTff7b72?.Te6edf3let Tb4b4b4{ Tff7b72!Tffa657itTb4b4b4.Te6edf3isNaNTb4b4b4(Tb4b4b4) Tff7b72&Tff7b72& Tffa657it Tff7b72> T79c0ff0 Tb4b4b4} Tff7b72=Tff7b72= Tff7b72true
Tff7b72if Tb4b4b4(Te6edf3hasHumidity Tff7b72|Tff7b72| Te6edf3hasPressureTb4b4b4) Tb4b4b4{
Te6edf3RowTb4b4b4(
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3paddingTb4b4b4(Te6edf3vertical Tff7b72= T79c0ff0.Te6edf3dpTb4b4b4)Tb4b4b4,
Te6edf3horizontalArrangement Tff7b72= Te6edf3ArrangementTb4b4b4.Te6edf3SpaceBetweenTb4b4b4,
Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3hasHumidityTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3humidity Tff7b72= Te6edf3envMetricsTb4b4b4.Te6edf3relative_humidityTff7b72!!
Te6edf3RowTb4b4b4(Te6edf3verticalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterVerticallyTb4b4b4) Tb4b4b4{
Te6edf3MetricIndicatorTb4b4b4(Te6edf3EnvironmentTb4b4b4.Te6edf3HUMIDITYTb4b4b4.Te6edf3colorTb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3widthTb4b4b4(T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72=
Ta5d6ff"Tffd700${Te6edf3stringResourceTb4b4b4(
Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3humidityTb4b4b4,
Tb4b4b4)Tffd700}Ta5d6ff Tffd700${Te6edf3MetricFormatterTb4b4b4.Te6edf3percentTb4b4b4(Te6edf3humidityTb4b4b4, Te6edf3decimalPlaces Tff7b72= T79c0ff2Tb4b4b4)Tffd700}Ta5d6ff"Tb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onSurfaceTb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3labelLargeTb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3paddingTb4b4b4(Te6edf3vertical Tff7b72= T79c0ff0.Te6edf3dpTb4b4b4)Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3hasPressureTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3pressure Tff7b72= Te6edf3envMetricsTb4b4b4.Te6edf3barometric_pressureTff7b72!!
Te6edf3RowTb4b4b4(Te6edf3verticalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterVerticallyTb4b4b4) Tb4b4b4{
Te6edf3MetricIndicatorTb4b4b4(Te6edf3EnvironmentTb4b4b4.Te6edf3BAROMETRIC_PRESSURETb4b4b4.Te6edf3colorTb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3widthTb4b4b4(T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72= Te6edf3MetricFormatterTb4b4b4.Te6edf3pressureTb4b4b4(Te6edf3pressureTb4b4b4, Te6edf3decimalPlaces Tff7b72= T79c0ff2Tb4b4b4)Tb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onSurfaceTb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3labelLargeTb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3paddingTb4b4b4(Te6edf3vertical Tff7b72= T79c0ff0.Te6edf3dpTb4b4b4)Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffSoilMetricsDisplayTb4b4b4(
Te6edf3envMetricsTb4b4b4: Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3protoTb4b4b4.Te6edf3EnvironmentMetricsTb4b4b4,
Te6edf3environmentDisplayFahrenheitTb4b4b4: Tffa657BooleanTb4b4b4,
Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(
Te6edf3envMetricsTb4b4b4.Te6edf3soil_temperature Tff7b72!Tff7b72= Tff7b72null Tff7b72|Tff7b72|
Tb4b4b4(Te6edf3envMetricsTb4b4b4.Te6edf3soil_moisture Tff7b72!Tff7b72= Tff7b72null Tff7b72&Tff7b72& Te6edf3envMetricsTb4b4b4.Te6edf3soil_moisture Tff7b72!Tff7b72= Tffa657IntTb4b4b4.Te6edf3MIN_VALUETb4b4b4)
Tb4b4b4) Tb4b4b4{
Te6edf3RowTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3horizontalArrangement Tff7b72= Te6edf3ArrangementTb4b4b4.Te6edf3SpaceBetweenTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3soilTemperatureTextFormat Tff7b72= Tff7b72if Tb4b4b4(Te6edf3environmentDisplayFahrenheitTb4b4b4) Ta5d6ff"Ta5d6ff%s %.1f°FTa5d6ff" Tff7b72else Ta5d6ff"Ta5d6ff%s %.1f°CTa5d6ff"
Tff7b72val Te6edf3soilMoistureTextFormat Tff7b72= Ta5d6ff"Ta5d6ff%s %d%%Ta5d6ff"
Te6edf3envMetricsTb4b4b4.Te6edf3soil_moistureTff7b72?.Te6edf3let Tb4b4b4{ Te6edf3soilMoistureValue Tff7b72-Tff7b72>
Tff7b72if Tb4b4b4(Te6edf3soilMoistureValue Tff7b72!Tff7b72= Tffa657IntTb4b4b4.Te6edf3MIN_VALUETb4b4b4) Tb4b4b4{
Te6edf3RowTb4b4b4(Te6edf3verticalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterVerticallyTb4b4b4) Tb4b4b4{
Te6edf3MetricIndicatorTb4b4b4(Te6edf3EnvironmentTb4b4b4.Te6edf3SOIL_MOISTURETb4b4b4.Te6edf3colorTb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3widthTb4b4b4(T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72=
Te6edf3formatStringTb4b4b4(
Te6edf3soilMoistureTextFormatTb4b4b4,
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3soil_moistureTb4b4b4)Tb4b4b4,
Te6edf3soilMoistureValueTb4b4b4,
Tb4b4b4)Tb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onSurfaceTb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3labelLargeTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Te6edf3envMetricsTb4b4b4.Te6edf3soil_temperatureTff7b72?.Te6edf3let Tb4b4b4{ Te6edf3soilTemperature Tff7b72-Tff7b72>
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3soilTemperatureTb4b4b4.Te6edf3isNaNTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3RowTb4b4b4(Te6edf3verticalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterVerticallyTb4b4b4) Tb4b4b4{
Te6edf3MetricIndicatorTb4b4b4(Te6edf3EnvironmentTb4b4b4.Te6edf3SOIL_TEMPERATURETb4b4b4.Te6edf3colorTb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3widthTb4b4b4(T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72=
Te6edf3formatStringTb4b4b4(
Te6edf3soilTemperatureTextFormatTb4b4b4,
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3soil_temperatureTb4b4b4)Tb4b4b4,
Te6edf3soilTemperatureTb4b4b4,
Tb4b4b4)Tb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onSurfaceTb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3labelLargeTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffLuxUVLuxDisplayTb4b4b4(Te6edf3envMetricsTb4b4b4: Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3protoTb4b4b4.Te6edf3EnvironmentMetricsTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3hasLux Tff7b72= Te6edf3envMetricsTb4b4b4.Te6edf3lux Tff7b72!Tff7b72= Tff7b72null Tff7b72&Tff7b72& Tff7b72!Te6edf3envMetricsTb4b4b4.Te6edf3luxTff7b72!!Tb4b4b4.Te6edf3isNaNTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3hasUvLux Tff7b72= Te6edf3envMetricsTb4b4b4.Te6edf3uv_lux Tff7b72!Tff7b72= Tff7b72null Tff7b72&Tff7b72& Tff7b72!Te6edf3envMetricsTb4b4b4.Te6edf3uv_luxTff7b72!!Tb4b4b4.Te6edf3isNaNTb4b4b4(Tb4b4b4)
Tff7b72if Tb4b4b4(Te6edf3hasLux Tff7b72|Tff7b72| Te6edf3hasUvLuxTb4b4b4) Tb4b4b4{
Te6edf3RowTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3horizontalArrangement Tff7b72= Te6edf3ArrangementTb4b4b4.Te6edf3SpaceBetweenTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3hasLuxTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3luxValue Tff7b72= Te6edf3envMetricsTb4b4b4.Te6edf3luxTff7b72!!
Te6edf3RowTb4b4b4(Te6edf3verticalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterVerticallyTb4b4b4) Tb4b4b4{
Te6edf3MetricIndicatorTb4b4b4(Te6edf3EnvironmentTb4b4b4.Te6edf3LUXTb4b4b4.Te6edf3colorTb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3widthTb4b4b4(T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72= Te6edf3formatStringTb4b4b4(Ta5d6ff"Ta5d6ff%s %.0f lxTa5d6ff"Tb4b4b4, Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3luxTb4b4b4)Tb4b4b4, Te6edf3luxValueTb4b4b4)Tb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onSurfaceTb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3labelLargeTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3hasUvLuxTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3uvLuxValue Tff7b72= Te6edf3envMetricsTb4b4b4.Te6edf3uv_luxTff7b72!!
Te6edf3RowTb4b4b4(Te6edf3verticalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterVerticallyTb4b4b4) Tb4b4b4{
Te6edf3MetricIndicatorTb4b4b4(Te6edf3EnvironmentTb4b4b4.Te6edf3UV_LUXTb4b4b4.Te6edf3colorTb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3widthTb4b4b4(T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72= Te6edf3formatStringTb4b4b4(Ta5d6ff"Ta5d6ff%s %.0f UVlxTa5d6ff"Tb4b4b4, Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3uv_luxTb4b4b4)Tb4b4b4, Te6edf3uvLuxValueTb4b4b4)Tb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onSurfaceTb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3labelLargeTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffVoltageCurrentDisplayTb4b4b4(Te6edf3envMetricsTb4b4b4: Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3protoTb4b4b4.Te6edf3EnvironmentMetricsTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3hasVoltage Tff7b72= Te6edf3envMetricsTb4b4b4.Te6edf3voltage Tff7b72!Tff7b72= Tff7b72null Tff7b72&Tff7b72& Tff7b72!Te6edf3envMetricsTb4b4b4.Te6edf3voltageTff7b72!!Tb4b4b4.Te6edf3isNaNTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3hasCurrent Tff7b72= Te6edf3envMetricsTb4b4b4.Te6edf3current Tff7b72!Tff7b72= Tff7b72null Tff7b72&Tff7b72& Tff7b72!Te6edf3envMetricsTb4b4b4.Te6edf3currentTff7b72!!Tb4b4b4.Te6edf3isNaNTb4b4b4(Tb4b4b4)
Tff7b72if Tb4b4b4(Te6edf3hasVoltage Tff7b72|Tff7b72| Te6edf3hasCurrentTb4b4b4) Tb4b4b4{
Te6edf3RowTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3horizontalArrangement Tff7b72= Te6edf3ArrangementTb4b4b4.Te6edf3SpaceBetweenTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3hasVoltageTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3voltage Tff7b72= Te6edf3envMetricsTb4b4b4.Te6edf3voltageTff7b72!!
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72= Ta5d6ff"Tffd700${Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3voltageTb4b4b4)Tffd700}Ta5d6ff Tffd700${Te6edf3MetricFormatterTb4b4b4.Te6edf3voltageTb4b4b4(Te6edf3voltageTb4b4b4)Tffd700}Ta5d6ff"Tb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onSurfaceTb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3labelLargeTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3hasCurrentTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3currentValue Tff7b72= Te6edf3envMetricsTb4b4b4.Te6edf3currentTff7b72!!
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72=
Ta5d6ff"Tffd700${Te6edf3stringResourceTb4b4b4(
Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3currentTb4b4b4,
Tb4b4b4)Tffd700}Ta5d6ff Tffd700${Te6edf3MetricFormatterTb4b4b4.Te6edf3currentTb4b4b4(Te6edf3currentValueTb4b4b4, Te6edf3decimalPlaces Tff7b72= T79c0ff2Tb4b4b4)Tffd700}Ta5d6ff"Tb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onSurfaceTb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3labelLargeTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffGasCompositionDisplayTb4b4b4(Te6edf3envMetricsTb4b4b4: Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3protoTb4b4b4.Te6edf3EnvironmentMetricsTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3iaqValue Tff7b72= Te6edf3envMetricsTb4b4b4.Te6edf3iaq
Tff7b72val Te6edf3gasResistance Tff7b72= Te6edf3envMetricsTb4b4b4.Te6edf3gas_resistance
Tff7b72if Tb4b4b4(Tb4b4b4(Te6edf3iaqValue Tff7b72!Tff7b72= Tff7b72null Tff7b72&Tff7b72& Te6edf3iaqValue Tff7b72!Tff7b72= Tffa657IntTb4b4b4.Te6edf3MIN_VALUETb4b4b4) Tff7b72|Tff7b72| Tb4b4b4(Te6edf3gasResistanceTff7b72?.Te6edf3isFiniteTb4b4b4(Tb4b4b4) Tff7b72=Tff7b72= Tff7b72trueTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3RowTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3horizontalArrangement Tff7b72= Te6edf3ArrangementTb4b4b4.Te6edf3SpaceBetweenTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3iaqValue Tff7b72!Tff7b72= Tff7b72null Tff7b72&Tff7b72& Te6edf3iaqValue Tff7b72!Tff7b72= Tffa657IntTb4b4b4.Te6edf3MIN_VALUETb4b4b4) Tb4b4b4{
Te6edf3RowTb4b4b4(Te6edf3verticalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterVerticallyTb4b4b4) Tb4b4b4{
Te6edf3MetricIndicatorTb4b4b4(Te6edf3EnvironmentTb4b4b4.Te6edf3IAQTb4b4b4.Te6edf3colorTb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3widthTb4b4b4(T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3iaqTb4b4b4)Tb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onSurfaceTb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3labelLargeTb4b4b4,
Tb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3widthTb4b4b4(T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3IndoorAirQualityTb4b4b4(Te6edf3iaq Tff7b72= Te6edf3iaqValueTb4b4b4, Te6edf3displayMode Tff7b72= Te6edf3IaqDisplayModeTb4b4b4.Te6edf3DotTb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3gasResistance Tff7b72!Tff7b72= Tff7b72null Tff7b72&Tff7b72& Tff7b72!Te6edf3gasResistanceTb4b4b4.Te6edf3isNaNTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3RowTb4b4b4(Te6edf3verticalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterVerticallyTb4b4b4) Tb4b4b4{
Te6edf3MetricIndicatorTb4b4b4(Te6edf3EnvironmentTb4b4b4.Te6edf3GAS_RESISTANCETb4b4b4.Te6edf3colorTb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3widthTb4b4b4(T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72= Te6edf3formatStringTb4b4b4(Ta5d6ff"Ta5d6ff%s %.2f OhmTa5d6ff"Tb4b4b4, Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3gas_resistanceTb4b4b4)Tb4b4b4, Te6edf3gasResistanceTb4b4b4)Tb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onSurfaceTb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3labelLargeTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffRadiationDisplayTb4b4b4(Te6edf3envMetricsTb4b4b4: Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3protoTb4b4b4.Te6edf3EnvironmentMetricsTb4b4b4) Tb4b4b4{
Te6edf3envMetricsTb4b4b4.Te6edf3radiationTff7b72?.Te6edf3let Tb4b4b4{ Te6edf3radiation Tff7b72-Tff7b72>
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3radiationTb4b4b4.Te6edf3isNaNTb4b4b4(Tb4b4b4) Tff7b72&Tff7b72& Te6edf3radiation Tff7b72> T79c0ff0fTb4b4b4) Tb4b4b4{
Te6edf3RowTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3horizontalArrangement Tff7b72= Te6edf3ArrangementTb4b4b4.Te6edf3SpaceBetweenTb4b4b4) Tb4b4b4{
Te6edf3RowTb4b4b4(Te6edf3verticalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterVerticallyTb4b4b4) Tb4b4b4{
Te6edf3MetricIndicatorTb4b4b4(Te6edf3EnvironmentTb4b4b4.Te6edf3RADIATIONTb4b4b4.Te6edf3colorTb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3widthTb4b4b4(T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72= Te6edf3formatStringTb4b4b4(Ta5d6ff"Ta5d6ff%s %.2f µR/hTa5d6ff"Tb4b4b4, Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3radiationTb4b4b4)Tb4b4b4, Te6edf3radiationTb4b4b4)Tb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onSurfaceTb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3labelLargeTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffWindDisplayTb4b4b4(Te6edf3envMetricsTb4b4b4: Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3protoTb4b4b4.Te6edf3EnvironmentMetricsTb4b4b4, Te6edf3isImperialTb4b4b4: Tffa657BooleanTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3hasSpeed Tff7b72= Te6edf3envMetricsTb4b4b4.Te6edf3wind_speed Tff7b72!Tff7b72= Tff7b72null Tff7b72&Tff7b72& Tff7b72!Te6edf3envMetricsTb4b4b4.Te6edf3wind_speedTff7b72!!Tb4b4b4.Te6edf3isNaNTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3hasGust Tff7b72= Te6edf3envMetricsTb4b4b4.Te6edf3wind_gust Tff7b72!Tff7b72= Tff7b72null Tff7b72&Tff7b72& Tff7b72!Te6edf3envMetricsTb4b4b4.Te6edf3wind_gustTff7b72!!Tb4b4b4.Te6edf3isNaNTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3hasLull Tff7b72= Te6edf3envMetricsTb4b4b4.Te6edf3wind_lull Tff7b72!Tff7b72= Tff7b72null Tff7b72&Tff7b72& Tff7b72!Te6edf3envMetricsTb4b4b4.Te6edf3wind_lullTff7b72!!Tb4b4b4.Te6edf3isNaNTb4b4b4(Tb4b4b4)
Tff7b72if Tb4b4b4(Te6edf3hasSpeed Tff7b72|Tff7b72| Te6edf3hasGust Tff7b72|Tff7b72| Te6edf3hasLullTb4b4b4) Tb4b4b4{
Te6edf3ColumnTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3hasSpeedTb4b4b4) Te6edf3WindSpeedRowTb4b4b4(Te6edf3envMetricsTb4b4b4, Te6edf3isImperialTb4b4b4)
Tff7b72if Tb4b4b4(Te6edf3hasGust Tff7b72|Tff7b72| Te6edf3hasLullTb4b4b4) Te6edf3WindGustLullRowTb4b4b4(Te6edf3envMetricsTb4b4b4, Te6edf3isImperialTb4b4b4, Te6edf3hasGustTb4b4b4, Te6edf3hasLullTb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffWindSpeedRowTb4b4b4(Te6edf3envMetricsTb4b4b4: Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3protoTb4b4b4.Te6edf3EnvironmentMetricsTb4b4b4, Te6edf3isImperialTb4b4b4: Tffa657BooleanTb4b4b4) Tb4b4b4{
Te6edf3RowTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3horizontalArrangement Tff7b72= Te6edf3ArrangementTb4b4b4.Te6edf3SpaceBetweenTb4b4b4) Tb4b4b4{
Te6edf3RowTb4b4b4(Te6edf3verticalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterVerticallyTb4b4b4) Tb4b4b4{
Te6edf3MetricIndicatorTb4b4b4(Te6edf3EnvironmentTb4b4b4.Te6edf3WIND_SPEEDTb4b4b4.Te6edf3colorTb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3widthTb4b4b4(T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Tff7b72val Te6edf3dirText Tff7b72=
Tff7b72if Tb4b4b4(Te6edf3envMetricsTb4b4b4.Te6edf3wind_direction Tff7b72!Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Te6edf3formatStringTb4b4b4(
Ta5d6ff"Ta5d6ff%s %s (%s %d°)Ta5d6ff"Tb4b4b4,
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3wind_speedTb4b4b4)Tb4b4b4,
Te6edf3MetricFormatterTb4b4b4.Te6edf3windSpeedTb4b4b4(Te6edf3envMetricsTb4b4b4.Te6edf3wind_speedTff7b72!!Tb4b4b4, Te6edf3isImperialTb4b4b4)Tb4b4b4,
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3wind_directionTb4b4b4)Tb4b4b4,
Te6edf3envMetricsTb4b4b4.Te6edf3wind_directionTff7b72!!Tb4b4b4,
Tb4b4b4)
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3formatStringTb4b4b4(
Ta5d6ff"Ta5d6ff%s %sTa5d6ff"Tb4b4b4,
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3wind_speedTb4b4b4)Tb4b4b4,
Te6edf3MetricFormatterTb4b4b4.Te6edf3windSpeedTb4b4b4(Te6edf3envMetricsTb4b4b4.Te6edf3wind_speedTff7b72!!Tb4b4b4, Te6edf3isImperialTb4b4b4)Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72= Te6edf3dirTextTb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onSurfaceTb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3labelLargeTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffWindGustLullRowTb4b4b4(
Te6edf3envMetricsTb4b4b4: Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3protoTb4b4b4.Te6edf3EnvironmentMetricsTb4b4b4,
Te6edf3isImperialTb4b4b4: Tffa657BooleanTb4b4b4,
Te6edf3hasGustTb4b4b4: Tffa657BooleanTb4b4b4,
Te6edf3hasLullTb4b4b4: Tffa657BooleanTb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3RowTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3horizontalArrangement Tff7b72= Te6edf3ArrangementTb4b4b4.Te6edf3SpaceBetweenTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3hasGustTb4b4b4) Tb4b4b4{
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72=
Ta5d6ff"Tffd700${Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3wind_gustTb4b4b4)Tffd700}Ta5d6ff Tffd700${
Te6edf3MetricFormatterTb4b4b4.Te6edf3windSpeedTb4b4b4(Te6edf3envMetricsTb4b4b4.Te6edf3wind_gustTff7b72!!Tb4b4b4, Te6edf3isImperialTb4b4b4)
Tffd700}Ta5d6ff"Tb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onSurfaceTb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3labelLargeTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3hasLullTb4b4b4) Tb4b4b4{
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72=
Ta5d6ff"Tffd700${Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3wind_lullTb4b4b4)Tffd700}Ta5d6ff Tffd700${
Te6edf3MetricFormatterTb4b4b4.Te6edf3windSpeedTb4b4b4(Te6edf3envMetricsTb4b4b4.Te6edf3wind_lullTff7b72!!Tb4b4b4, Te6edf3isImperialTb4b4b4)
Tffd700}Ta5d6ff"Tb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onSurfaceTb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3labelLargeTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffRainfallDisplayTb4b4b4(Te6edf3envMetricsTb4b4b4: Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3protoTb4b4b4.Te6edf3EnvironmentMetricsTb4b4b4, Te6edf3isImperialTb4b4b4: Tffa657BooleanTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3has1h Tff7b72= Te6edf3envMetricsTb4b4b4.Te6edf3rainfall_1h Tff7b72!Tff7b72= Tff7b72null Tff7b72&Tff7b72& Tff7b72!Te6edf3envMetricsTb4b4b4.Te6edf3rainfall_1hTff7b72!!Tb4b4b4.Te6edf3isNaNTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3has24h Tff7b72= Te6edf3envMetricsTb4b4b4.Te6edf3rainfall_24h Tff7b72!Tff7b72= Tff7b72null Tff7b72&Tff7b72& Tff7b72!Te6edf3envMetricsTb4b4b4.Te6edf3rainfall_24hTff7b72!!Tb4b4b4.Te6edf3isNaNTb4b4b4(Tb4b4b4)
Tff7b72if Tb4b4b4(Te6edf3has1h Tff7b72|Tff7b72| Te6edf3has24hTb4b4b4) Tb4b4b4{
Te6edf3RowTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3horizontalArrangement Tff7b72= Te6edf3ArrangementTb4b4b4.Te6edf3SpaceBetweenTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3has1hTb4b4b4) Tb4b4b4{
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72=
Ta5d6ff"Tffd700${Te6edf3stringResourceTb4b4b4(
Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3rainfall_1hTb4b4b4,
Tb4b4b4)Tffd700}Ta5d6ff Tffd700${Te6edf3MetricFormatterTb4b4b4.Te6edf3rainfallTb4b4b4(Te6edf3envMetricsTb4b4b4.Te6edf3rainfall_1hTff7b72!!Tb4b4b4, Te6edf3isImperialTb4b4b4)Tffd700}Ta5d6ff"Tb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onSurfaceTb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3labelLargeTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3has24hTb4b4b4) Tb4b4b4{
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72=
Ta5d6ff"Tffd700${Te6edf3stringResourceTb4b4b4(
Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3rainfall_24hTb4b4b4,
Tb4b4b4)Tffd700}Ta5d6ff Tffd700${Te6edf3MetricFormatterTb4b4b4.Te6edf3rainfallTb4b4b4(Te6edf3envMetricsTb4b4b4.Te6edf3rainfall_24hTff7b72!!Tb4b4b4, Te6edf3isImperialTb4b4b4)Tffd700}Ta5d6ff"Tb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onSurfaceTb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3labelLargeTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffOneWireTemperatureDisplayTb4b4b4(
Te6edf3envMetricsTb4b4b4: Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3protoTb4b4b4.Te6edf3EnvironmentMetricsTb4b4b4,
Te6edf3environmentDisplayFahrenheitTb4b4b4: Tffa657BooleanTb4b4b4,
Tb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3sensors Tff7b72= Te6edf3envMetricsTb4b4b4.Te6edf3one_wire_temperatureTb4b4b4.Te6edf3filterNot Tb4b4b4{ Tffa657itTb4b4b4.Te6edf3isNaNTb4b4b4(Tb4b4b4) Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3sensorsTb4b4b4.Te6edf3isEmptyTb4b4b4(Tb4b4b4)Tb4b4b4) Tff7b72return
Tff7b72val Te6edf3oneWireEntries Tff7b72=
Te6edf3listOfTb4b4b4(
Te6edf3EnvironmentTb4b4b4.Te6edf3ONE_WIRE_TEMP_1Tb4b4b4,
Te6edf3EnvironmentTb4b4b4.Te6edf3ONE_WIRE_TEMP_2Tb4b4b4,
Te6edf3EnvironmentTb4b4b4.Te6edf3ONE_WIRE_TEMP_3Tb4b4b4,
Te6edf3EnvironmentTb4b4b4.Te6edf3ONE_WIRE_TEMP_4Tb4b4b4,
Te6edf3EnvironmentTb4b4b4.Te6edf3ONE_WIRE_TEMP_5Tb4b4b4,
Te6edf3EnvironmentTb4b4b4.Te6edf3ONE_WIRE_TEMP_6Tb4b4b4,
Te6edf3EnvironmentTb4b4b4.Te6edf3ONE_WIRE_TEMP_7Tb4b4b4,
Te6edf3EnvironmentTb4b4b4.Te6edf3ONE_WIRE_TEMP_8Tb4b4b4,
Tb4b4b4)
Tff7b72val Te6edf3textFormat Tff7b72= Tff7b72if Tb4b4b4(Te6edf3environmentDisplayFahrenheitTb4b4b4) Ta5d6ff"Ta5d6ff%s %d: %.1f°FTa5d6ff" Tff7b72else Ta5d6ff"Ta5d6ff%s %d: %.1f°CTa5d6ff"
Te6edf3sensorsTb4b4b4.Te6edf3forEachIndexed Tb4b4b4{ Te6edf3idxTb4b4b4, Te6edf3temp Tff7b72-Tff7b72>
Tff7b72val Te6edf3color Tff7b72= Te6edf3oneWireEntriesTb4b4b4.Te6edf3getOrNullTb4b4b4(Te6edf3idxTb4b4b4)Tff7b72?.Te6edf3color Tff7b72?: Te6edf3EnvironmentTb4b4b4.Te6edf3ONE_WIRE_TEMP_1Tb4b4b4.Te6edf3color
Te6edf3RowTb4b4b4(Te6edf3verticalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterVerticallyTb4b4b4) Tb4b4b4{
Te6edf3MetricIndicatorTb4b4b4(Te6edf3colorTb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3widthTb4b4b4(T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72= Te6edf3formatStringTb4b4b4(Te6edf3textFormatTb4b4b4, Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3one_wire_temperatureTb4b4b4)Tb4b4b4, Te6edf3idx Tff7b72+ T79c0ff1Tb4b4b4, Te6edf3tempTb4b4b4)Tb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onSurfaceTb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3labelLargeTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffEnvironmentMetricsCardTb4b4b4(
Te6edf3telemetryTb4b4b4: Te6edf3TelemetryTb4b4b4,
Te6edf3environmentDisplayFahrenheitTb4b4b4: Tffa657BooleanTb4b4b4,
Te6edf3isImperialTb4b4b4: Tffa657BooleanTb4b4b4,
Te6edf3isSelectedTb4b4b4: Tffa657BooleanTb4b4b4,
Te6edf3onClickTb4b4b4: Tb4b4b4(Tb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3SelectableMetricCardTb4b4b4(Te6edf3isSelected Tff7b72= Te6edf3isSelectedTb4b4b4, Te6edf3onClick Tff7b72= Te6edf3onClickTb4b4b4) Tb4b4b4{
Te6edf3EnvironmentMetricsContentTb4b4b4(Te6edf3telemetryTb4b4b4, Te6edf3environmentDisplayFahrenheitTb4b4b4, Te6edf3isImperialTb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffEnvironmentMetricsContentTb4b4b4(
Te6edf3telemetryTb4b4b4: Te6edf3TelemetryTb4b4b4,
Te6edf3environmentDisplayFahrenheitTb4b4b4: Tffa657BooleanTb4b4b4,
Te6edf3isImperialTb4b4b4: Tffa657BooleanTb4b4b4,
Te6edf3timeTextOverrideTb4b4b4: Tffa657String? Tff7b72= Tff7b72nullTb4b4b4,
Tb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3envMetrics Tff7b72= Te6edf3telemetryTb4b4b4.Te6edf3environment_metrics Tff7b72?: Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3protoTb4b4b4.Te6edf3EnvironmentMetricsTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3time Tff7b72= Te6edf3telemetryTb4b4b4.Te6edf3timeTb4b4b4.Te6edf3toLongTb4b4b4(Tb4b4b4) Tff7b72* Te6edf3MS_PER_SEC
Te6edf3ColumnTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3paddingTb4b4b4(T79c0ff1T79c0ff2.Te6edf3dpTb4b4b4)Tb4b4b4) Tb4b4b4{
T8b949e/* Time and Temperature */
Te6edf3RowTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3horizontalArrangement Tff7b72= Te6edf3ArrangementTb4b4b4.Te6edf3SpaceBetweenTb4b4b4) Tb4b4b4{
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72= Te6edf3timeTextOverride Tff7b72?: Te6edf3DateFormatterTb4b4b4.Te6edf3formatDateTimeTb4b4b4(Te6edf3timeTb4b4b4)Tb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3titleMediumEmphasizedTb4b4b4,
Te6edf3fontWeight Tff7b72= Te6edf3FontWeightTb4b4b4.Te6edf3BoldTb4b4b4,
Tb4b4b4)
Te6edf3TemperatureDisplayTb4b4b4(Te6edf3envMetricsTb4b4b4, Te6edf3environmentDisplayFahrenheitTb4b4b4)
Tb4b4b4}
Te6edf3SpacerTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3HumidityAndBarometricPressureDisplayTb4b4b4(Te6edf3envMetricsTb4b4b4)
Te6edf3SoilMetricsDisplayTb4b4b4(Te6edf3envMetricsTb4b4b4, Te6edf3environmentDisplayFahrenheitTb4b4b4)
Te6edf3GasCompositionDisplayTb4b4b4(Te6edf3envMetricsTb4b4b4)
Te6edf3LuxUVLuxDisplayTb4b4b4(Te6edf3envMetricsTb4b4b4)
Te6edf3VoltageCurrentDisplayTb4b4b4(Te6edf3envMetricsTb4b4b4)
Te6edf3RadiationDisplayTb4b4b4(Te6edf3envMetricsTb4b4b4)
Te6edf3WindDisplayTb4b4b4(Te6edf3envMetricsTb4b4b4, Te6edf3isImperialTb4b4b4)
Te6edf3RainfallDisplayTb4b4b4(Te6edf3envMetricsTb4b4b4, Te6edf3isImperialTb4b4b4)
Te6edf3OneWireTemperatureDisplayTb4b4b4(Te6edf3envMetricsTb4b4b4, Te6edf3environmentDisplayFahrenheitTb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tf0883e@PreviewLightDark
Tf0883e@SuppressTb4b4b4(Ta5d6ff"Ta5d6ffMagicNumberTa5d6ff"Tb4b4b4) T8b949e// Compose preview with fake data
Tf0883e@Composable
Tff7b72fun Td2a8ffPreviewEnvironmentMetricsContentTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3fakeEnvMetrics Tff7b72=
Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3protoTb4b4b4.Te6edf3EnvironmentMetricsTb4b4b4(
Te6edf3temperature Tff7b72= T79c0ff2T79c0ff2.5fTb4b4b4,
Te6edf3relative_humidity Tff7b72= T79c0ff5T79c0ff5.0fTb4b4b4,
Te6edf3barometric_pressure Tff7b72= T79c0ff1T79c0ff0T79c0ff1T79c0ff3.25fTb4b4b4,
Te6edf3soil_moisture Tff7b72= T79c0ff3T79c0ff3Tb4b4b4,
Te6edf3soil_temperature Tff7b72= T79c0ff1T79c0ff8.0fTb4b4b4,
Te6edf3lux Tff7b72= T79c0ff1T79c0ff0T79c0ff0.0fTb4b4b4,
Te6edf3uv_lux Tff7b72= T79c0ff1T79c0ff0T79c0ff0.0fTb4b4b4,
Te6edf3voltage Tff7b72= T79c0ff3.7fTb4b4b4,
Te6edf3current Tff7b72= T79c0ff0.12fTb4b4b4,
Te6edf3iaq Tff7b72= T79c0ff1T79c0ff0T79c0ff0Tb4b4b4,
Te6edf3radiation Tff7b72= T79c0ff0.15fTb4b4b4,
Te6edf3gas_resistance Tff7b72= T79c0ff1T79c0ff2T79c0ff0T79c0ff0.0fTb4b4b4,
Te6edf3wind_speed Tff7b72= T79c0ff5.2fTb4b4b4,
Te6edf3wind_direction Tff7b72= T79c0ff2T79c0ff2T79c0ff5Tb4b4b4,
Te6edf3wind_gust Tff7b72= T79c0ff8.1fTb4b4b4,
Te6edf3wind_lull Tff7b72= T79c0ff2.3fTb4b4b4,
Te6edf3rainfall_1h Tff7b72= T79c0ff1.5fTb4b4b4,
Te6edf3rainfall_24h Tff7b72= T79c0ff1T79c0ff2.3fTb4b4b4,
Tb4b4b4)
Tff7b72val Te6edf3fakeTelemetry Tff7b72= Te6edf3TelemetryTb4b4b4(Te6edf3time Tff7b72= T79c0ff1T79c0ff7T79c0ff0T79c0ff0T79c0ff0T79c0ff0T79c0ff0T79c0ff0T79c0ff0T79c0ff0Tb4b4b4, Te6edf3environment_metrics Tff7b72= Te6edf3fakeEnvMetricsTb4b4b4)
Te6edf3AppTheme Tb4b4b4{
Te6edf3Surface Tb4b4b4{
Te6edf3EnvironmentMetricsContentTb4b4b4(
Te6edf3telemetry Tff7b72= Te6edf3fakeTelemetryTb4b4b4,
Te6edf3environmentDisplayFahrenheit Tff7b72= Tff7b72falseTb4b4b4,
Te6edf3isImperial Tff7b72= Tff7b72falseTb4b4b4,
Te6edf3timeTextOverride Tff7b72= Ta5d6ff"Ta5d6ff2023-11-14 22:13Ta5d6ff"Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Served by rngit 1.5.0 - Generated in 0.14s